home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume4 / tvx / part10 < prev    next >
Encoding:
Internet Message Format  |  1986-11-30  |  48.7 KB

  1. From: talcott!seismo!gatech!unmvax!wampler (Bruce Wampler)
  2. Subject: tvx: 10 of 10
  3. Newsgroups: mod.sources
  4. Approved: jpn@panda.UUCP
  5.  
  6. Mod.sources:  Volume 4, Issue 24
  7. Submitted by: gatech!unmvax!wampler (Bruce Wampler)
  8.  
  9. #--------CUT---------CUT---------CUT---------CUT--------#
  10. #########################################################
  11. #  TVX: File 10 of 10                                    #
  12. #                                                       #
  13. # This is a shell archive file.  To extract files:      #
  14. #                                                       #
  15. #    1)    Make a directory (like tvx) for the files.      #
  16. #    2) Write a file, such as "filen.shar", containing  #
  17. #       this archive file into the directory.           #
  18. #    3) Type "sh file.shar".  Do not use csh.           #
  19. #                                                       #
  20. #########################################################
  21. #
  22. #
  23. echo Extracting tvx_ref2.doc:
  24. sed 's/^X//' >tvx_ref2.doc <<\SHAR_EOF
  25. XTVX Reference Manual                                           2/25/86
  26. X                  *** USER CUSTOMIZATION of TVX ***
  27. X     A program called TVX_CFG is also provided with most versions of
  28. XStandard TVX.  It allows you to customize TVX to a great extent.  The
  29. Xprogram generates a file called CONFIG.TVX.  When TVX is started with
  30. Xa command line of the form: 'TVX filename -c=config.tvx", the values
  31. Xdefined in CONFIG.TVX will be used instead of the defaults.  (Warning:
  32. XTVX_CFG may not be implemented for all systems.  It does not work with
  33. Xthe emulator versions of TVX.)
  34. X     TVCONFIG is mostly self explanatory.  It allows you to change the
  35. Xfollowing:
  36. X1. Commands.  All of the approximately 50 commands can be redefined.
  37. XThere are some restrictions: all commands must be a single letter, and
  38. Xcase is ignored.  The '@', ESCAPE, and '<>' commands cannot be
  39. Xchanged.  Commands cannot be a number, including a '-'. 
  40. X2. Synonyms.  You may define some synonyms, such as space for right,
  41. Xor RETURN for down.  You cannot duplicate previously defined
  42. Xcommands. 
  43. X3. Function Keys.  Up to 50 function keys may be defined to be
  44. Xequivalent to any command (in fact any letter or character).  When a
  45. Xfunction key is pressed, TVX will translate it to the character you
  46. Xspecify.  If your function keys use an ESCAPE as a prefix character,
  47. Xyou will have to redefine a function key to be ESCAPE! 
  48. X4. Parameters.  You may change the default for any of the ':'
  49. Xparameters. 
  50. X     After you have built a suitable working version of CONFIG.TVX,
  51. Xanother program called TVX_PTCH has been provided to allow TVX.EXE (or
  52. XTVX.COM) to be permanently patched with the options set by TVX_CFG.
  53. XThis means you won't have keep track of the CONFIG.TVX file any more,
  54. Xand won't need the '-c' switch. 
  55. X                                 -22-
  56. XTVX Reference Manual                                           2/25/86
  57. X                        *** Error Messages ***
  58. X*** Abort, are you sure? 
  59. X     This message is displayed after the "abort" command has been
  60. Xentered.  A reply of y or Y will cause the session to be terminated. 
  61. X*** Bad O= switch
  62. X     An incorrect format was specified for the O= switch. 
  63. X*** Bad @ name
  64. X     An invalid file name was specified.  Re-enter. 
  65. X*** Bad command: x
  66. X     The command is not a valid TVX command. 
  67. X*** Bad file name
  68. X     An invalid file name was specified.  Re-enter. 
  69. X*** Bad output file: filename
  70. X     An invalid output file was specified. 
  71. X*** Bad par (val | name)
  72. X     An invalid value or parameter name was specified. 
  73. X*** Bad rpt buff #
  74. X     An invalid repeat loop number was entered. 
  75. X*** Bad switch
  76. X     An invalid switch was specified.  Re-enter file name and
  77. Xswitches. 
  78. X*** buffer empty
  79. X     Information message.  Displayed after a new file has been
  80. Xcreated, or when the write buffer command is executed and the text
  81. Xbuffer is empty. 
  82. X*** Can't create new name
  83. X     TVX was unable to create a new name for the output file.  Free
  84. Xsome disk space, rename the file, try again. 
  85. X*** Can't insert that
  86. X     There are three values that TVX uses internally, and thus are not
  87. Xvalid as user inserted characters in the text buffer. 
  88. X*** Can't save last line twice! 
  89. X     The last line of the buffer can only be saved once.  (That
  90. Xapplies to the other lines, too, but the last line is a special case.)
  91. X*** Can't :o, R/O
  92. X     It makes no sense to set a new file name when the file is read
  93. Xonly. 
  94. X*** Can't, buffer empty.  Insert 1st
  95. X     Most TVX commands are not valid until some text has been inserted
  96. Xinto the buffer. 
  97. X                                 -23-
  98. XTVX Reference Manual                                           2/25/86
  99. X*** Can't: R/O
  100. X     File beginning is illegal when the file is read only. 
  101. X*** Compacting buffer
  102. X     Information message.  Displayed when TVX is compacting the
  103. Xbuffer.  The compaction process may take several seconds. 
  104. X*** Compacting done
  105. X     Information.  The compaction is complete. 
  106. X*** Compactor lost: quit now! 
  107. X     An internal error has been discovered.  Exit TVX immediately, and
  108. Xpreserve the backup copy.  Try the session again. 
  109. X*** Create?  (y/n)
  110. X     The file name specified does not exist.  A y answer will cause
  111. Xthe file to be created.  A n answer will allow the file name to be
  112. Xrespecified. 
  113. X*** Error reopening
  114. X     Something has gone wrong with the 'File beginning' command.
  115. XExit, and try editing the file again.  Be careful since an empty file
  116. Xmay have been created. 
  117. X*** File only part read
  118. X     There was not enough room in the save buffer to hold the entire
  119. Xexternal file specified in the 'merge' command.  Try re-editing using
  120. Xthe 's' big buffer switch. 
  121. X*** Line no longer there
  122. X     Return to noted location can't work because the noted line has
  123. Xbeen deleted. 
  124. X*** lines filled
  125. X     TVX has run out of room to add more lines.  Use the 'write
  126. Xbuffer' or 'file beginning' command to get more space for new lines. 
  127. X*** no get room
  128. X     There is not enough room in the text buffer to insert all the
  129. Xtext in the save buffer.  Use the 'file begin' or 'write buffer'
  130. Xcommands, and try again.  The '-^W' command is often useful. 
  131. X*** no more lines for insert
  132. X     See "lines filled". 
  133. X*** no nesting
  134. X     TVX does not allow nested repeat loops: "<<..>>". 
  135. X*** no save room
  136. X     There is not enough room left to save any more text in the save
  137. Xbuffer.  Try saving smaller blocks, or use the 'file begin' command to
  138. Xget more space. 
  139. X*** No more free lines for insert
  140. X     The maximum number of lines have been used.  Write the buffer
  141. Xbefore inserting more new lines. 
  142. X                                 -24-
  143. XTVX Reference Manual                                           2/25/86
  144. X*** not found
  145. X     The current find pattern was not found. 
  146. X*** Not a valid rpt buff
  147. X     The current line does not contain a valid repeat loop for the ^R
  148. Xrestore command to use. 
  149. X*** reading file... 
  150. X     Displayed while TVX is reading in the file. 
  151. X*** rename fails
  152. X     Something has gone wrong with the 'File beginning' or 'quit'
  153. Xcommands.  On timeshared systems, this may mean you didn't have write
  154. Xcapability for the file.  The work file will probably be retained, and
  155. Xcan be manually renamed or copied using standard operating system
  156. Xcommands. 
  157. X*** search fails
  158. X     A cross-buffer search has failed to find pattern. 
  159. X*** Save buffer empty! 
  160. X     Tried to write to a file when save buffer empty. 
  161. X*** Unable to open external file
  162. X     An invalid name was specified. 
  163. X*** Unable to open yank file
  164. X     An invalid name was specified. 
  165. X*** writing buffer
  166. X     Displayed when the buffer is being written out. 
  167. X*** writing partial buffer
  168. X     Partial buffer only, as caused by the '-^W' command. 
  169. X*** Yank filename:
  170. X     Enter the name of the file you want to read into the save
  171. Xbuffer. 
  172. X*** 100 chars only
  173. X     At most, 100 characters are allowed in each find pattern and each
  174. Xrepeat loop. 
  175. X*** <> not complete
  176. X     The repeat loop has terminated before the specified number times
  177. Xhave been executed.  This is usually what you wanted, and can be
  178. Xcaused by failing to find a pattern, or reaching the end of the
  179. Xbuffer.  An invalid command or other error will also cause a repeat
  180. Xloop to terminate. 
  181. X                                 -25-
  182. XTVX Reference Manual                                           2/25/86
  183. X                           *** TTY MODE ***
  184. X     Normally, TVX is uses as a full screen editor.  It will work on
  185. Xdumb crt terminals or on hard copy terminals, however.  The alternate
  186. Xmode of operation is called tty mode.  Tty mode is also useful for
  187. Xterminals hooked up with slow baud rates.  Almost all TVX commands are
  188. Xsupported in tty mode.  The main difference is that the editor no
  189. Xlonger operates in a what you see is what you get mode. 
  190. X     When TVX is first started in tty mode (either by the -t command
  191. Xline switch, or using 1:t), it will display a 'tvx>' prompt.  The
  192. Xnormal mnemonic commands are then entered on the input line.  The
  193. Xinput line is terminated by a <return> (which is not sent as a
  194. Xcommand).  Each letter on the input line will be interpreted as a TVX
  195. Xcommand.  Thus, entering a line: 'dddr' would move the cursor 3 lines
  196. Xdown and one character right.  The result of the commands will not be
  197. Xdisplayed however. 
  198. X     The 'V' verify command operates specially for tty mode, and is
  199. Xused to type out lines of the file.  The normal procedure, then is to
  200. Xenter commands on the command input line, then enter appropriate 'V'
  201. Xcommands to display relevant lines of the buffer. 
  202. X     As long as normal TVX commands are entered, the command line
  203. Xprompt is 'tvx>', and the terminating <return> sends commands to TVX
  204. Xto execute.  In insert, find, and repeat, the prompt will change to
  205. X'+'.  All text entered, including <return>'s is entered into the text,
  206. Xthe find pattern, or the repeat loop buffer.  An Escape ends the
  207. Xcommand, and an additional <return> sends the line to TVX. 
  208. X     Why is tty mode included in TVX?  The earliest versions of TVX
  209. Xhad tty mode because there were a lot of TI Silent-700's around used
  210. Xat 300 baud.  No longer.  One reason is that tty mode provides an
  211. Xinterface useful to visually handicapped users.  The other is that it
  212. Xis useful for certain things not possible in visual mode.  For
  213. Xexample, suppose you wanted to see every line in a file containing a
  214. Xcertain pattern.  Tty mode is useful for this.  Enter tty mode (1:t),
  215. Xthen enter the following loop after the 'tvx>' prompt:
  216. X     1000<fpattern$vd>$$
  217. XThis command will find the pattern, print the line, and go to the next
  218. Xline to search again.  Failure on the last find will exit the loop.
  219. XThere are no doubt other subtle tricks like this that tty mode can be
  220. Xused for. 
  221. X                                 -26-
  222. XTVX Reference Manual                                           2/25/86
  223. X                     *** INSTALLATION OF TVX ***
  224. X     If you have the C source code of TVX, this section has some notes
  225. Xyou should find useful if you recompile the code to customize TVX for
  226. Xyour system.  It should also be helpful if you are installing TVX on a
  227. Xnew system.  If you are just a user, then you can ignore this
  228. Xsection. 
  229. X*** General Comments ***
  230. X     TVX has been designed to be portable.  It has had versions
  231. Xrunning under CP/M-80, MS-DOS, GEMDOS, RT-11, RSX-11, VMS, and Unix
  232. XBSD 4.2.  The heart of TVX portability is the terminal driver.  For
  233. Xdedicated systems, the control codes used by a specific terminal are
  234. Xhard wired into C global variables and a terminal specific version is
  235. Xcompiled.  It has been customary to give a unique name to each
  236. Xdifferent version such as TVV for a VT-52 version, TVT for a televideo
  237. Xversion, etc.  The Unix 4.2 BSD version of TVX has been written to
  238. Xtake advantage of the TERMCAP library usually provided, and is thus
  239. Xterminal independent. 
  240. X     Since terminals differ widely, TVX tries to update the screen as
  241. Xbest as possible using the control codes available.  The minimum set
  242. Xof control sequences required by TVX include direct x-y cursor
  243. Xpositioning, and erase from cursor to the end of the current line.
  244. XAlmost all terminals have at least these two controls.  The only known
  245. Xterminal widely available that does not have both of these is the
  246. XADM-3a.  Thus, TVX will NOT work on ADM-3a's.  Another desirable
  247. Xcontrol sequence is the ability to insert a blank line at the top of
  248. Xthe screen (reverse scroll).  This allows TVX to scroll rather than
  249. Xjump from one screen to the next.  However, TVX will perform
  250. Xadequately even on terminals with only x-y and erase to end of line.
  251. XIt has also been found that TVX does not always work on terminals with
  252. Xmultiple pages of screen data.  The scroll bottom line command usually
  253. Xfails. 
  254. X*** Quick and Dirty Porting ***
  255. X     It should be very simple to port TVX to a new machine for a
  256. Xpecific terminal.  The only "hard" part comes when trying to use a
  257. Xpackage like TERMCAP.  Then, the 4.2 Unix code can serve as a guide.
  258. XIn effect, what that code does is get the screen controls and patch
  259. Xthe regular TVX screen control locations. 
  260. X     Typically, however, it should be almost trivial (assuming a
  261. Xfairly standard C implementation - the current code compiles unchanged
  262. Xon 4 different C compilers) to generate a version of TVX for a
  263. Xspecific terminal.  The main steps:
  264. X     1. Define the control codes for the terminal.  These are
  265. Xexplained in some detail in the manual. 
  266. X     2. Fix file I/O calls.  This may take no changes at all.  The
  267. Xmain issue has been the mode argument to fopen.  TVX likes to get the
  268. Xfile raw - with NO end of line handling by the C I/O system.  These
  269. X                                 -27-
  270. XTVX Reference Manual                                           2/25/86
  271. Xthings are identified by #define's in tvx_defs.ic.  The other issue is
  272. Xwhat is the end of line character.  Unix likes LF only, while MS-DOS
  273. Xand descendants like CR/LF (actually DEC RT-11 descendants).  The
  274. X#define FILELF and NEWLINE handle this. 
  275. X     3. The last issue is getting characters to and from the
  276. Xterminal.  These are isolated in tvx_io.c.  The critical routines:
  277. X     ttrd() [ and ttrd_() ]: This reads one character (ANY possible
  278. Xcharacter, except possible ^S and ^Q) from the terminal, UNECHOED.
  279. XThe routine ttinit is called to possibly initialize things, and ttclos
  280. Xat the end to undo whatever ttinit did. 
  281. X     ttwt() and ttwtln(): These are used to send characters to the
  282. Xscreen.  ttwt sends a single character, immediately and unbuffered.
  283. Xttwtln can be based on ttwt, but is provided and used whenever a chunk
  284. Xis available to write.  This is essential on busy time shared
  285. Xsystems. 
  286. X     That's really the only problem areas.  One good thing to do when
  287. Xporting is to find all the uses of #ifdef (and #ifndef) for the
  288. Ximplementations described: MSDOS, UNIX, GEMDOS.  Those certainly
  289. Xidentify the areas most likely to be different on your system. 
  290. X     Note that the Microsoft C compiler for MS-DOS is slightly brain
  291. Xdamaged - the arguments to rename in its library are backwards from
  292. Xthe rest of the world. 
  293. X*** Source Files Supplied ***
  294. X     The following files are included in most distributions:
  295. X  TVX_1.C  - main part of code (part 1)
  296. X  TVX_2.C  - main part of code (part 2)
  297. X             These two files are mostly os and terminal independent.
  298. X  TVX_EDIT.C - The main heart of the command parser.  Isolated to
  299. X               make generating new emulators easy.  When generating
  300. X               a new emulator, only TVX_EDIT and TVX_LEX need to
  301. X               be recompiled.
  302. X  TVX_LEX.C - defaults, some os dependent stuff in here.  Major
  303. X            changes in defaults can be fixed by recompiling this file.
  304. X  TVX_IO.C - almost all I/O, including screen, confined to this file.
  305. X  TVX_LIB.C - misc library routines needed by TVX.
  306. X  TVX_IBM.C - IBM-PC specific code, specifically the screen driver
  307. X              (TVX_IBM.ASM - hand optimized version of TVX_IBM.C)
  308. X  TVX_UNIX.C - contains unix specific code, including termcap driver
  309. X  TVX_DEFS.IC - #define's for version, os, terminal, defaults
  310. X  TVX_GLBL.IC - global data structures
  311. X  TVX_TERM.IC - definitions for various terminals and systems
  312. X
  313. X  TVX_CFG.C - used to build CONFIG.TVX file for -c switch
  314. X  TVX_PTCH.C - MS-DOS versions only - used to permanently apply
  315. X              config settings to TVX.EXE.
  316. X
  317. X  TVX_MAKE.BAT - MS-DOS Batch file to build TVX using cii c-86.
  318. X                                 -28-
  319. XTVX Reference Manual                                           2/25/86
  320. X  TVX_MAKE.UNX - Unix Makefile to make on unix.
  321. X
  322. X  TVX_REF.DOC - This file, preformatted for printing on a "standard"
  323. X                printer - 80 columns by 66 lines.
  324. X  TVX_TUT.DOC - A novice user tutorial for using Standard TVX.
  325. X  xxx.ref -    a quick reference card for given version of TVX.
  326. X*** Screen Driver and Control Sequences ***
  327. X     The actual codes used by TVX to update the screen are global
  328. Xvariables in the 'tvx_glbl.ic' file.  Using the '#ifdef EXTERN' trick
  329. Xdescribed in that file, the screen variables (plus most other relevant
  330. Xglobal variables) are included as external references.  The actual
  331. Xdefinitions for a given terminal are included in a file called
  332. X'tvx_term.ic'.  Several sample definitions are included in the
  333. Xdistribution code.  A description of each relevant variable follows:
  334. X** X-Y Cursor Addressing
  335. Xint addx - amount to add to internal x position get terminal's x
  336. Xvalue.  Terminals typically encode x-y as a single printable
  337. Xcharacter, thus requiring the addition of a blank to make x-y
  338. Xprintable.  Since TVX uses a 1,1 origin, this value will commonly be
  339. X31. 
  340. Xint addy - same as addx, but for y position. 
  341. Xchar cxychr - true (1) if convert xy binary representation to ascii
  342. Xstring. 
  343. Xchar cxy1st - 'l' if line coordinate first, 'c' if column first. 
  344. Xchar cxybeg[8], char cxymid[8], char cxyend[8] - The x-y cursor
  345. Xcontrol sequence usually takes one of two forms: <control><x><y> or
  346. X<control><x><middle><y><end>.  The x and y may be reversed.  These
  347. Xthree arrays are used to send the proper control sequence for xy
  348. Xpositioning. 
  349. X*** Other control sequences
  350. Xchar cversn[12] - a version string to identify terminal. 
  351. Xchar cerrbg[8], char cerred[8] - sequences sent when an error message
  352. Xsent to terminal's last line.  Note that cerrbe is sent BEFORE the
  353. Xcursor is moved to the last line, and cerred is sent before the cursor
  354. Xis returned to the original position.  Some terminals give problems if
  355. Xa highlight sequence is sent before a cursor positioning sequence.  A
  356. Xbell is usually safe for most versions. 
  357. Xchar ctopb[8] - This sequence should insert a blank line when the
  358. Xcursor is at the top left corner.  It is often called reverse line
  359. Xfeed.  A command to insert a line usually performs the same function,
  360. Xbut some terminals don't have both. 
  361. X                                 -29-
  362. XTVX Reference Manual                                           2/25/86
  363. Xchar cinit[20], char cendit[20] - these sequences are sent to
  364. Xinitialize and reset the terminal. 
  365. Xchar cbotb[8] - this sequence scrolls the screen up one line when the
  366. Xcursor is on the last line.  Line feed works for any terminal
  367. Xencountered to date. 
  368. Xchar celin[8] - Erase from cursor to end of line.  This sequence is
  369. Xrequired for operation of TVX. 
  370. Xchar cescr[8] - Erase from cursor to end of screen.  If the terminal
  371. Xdoesn't have this, it is simulated using multiple celins. 
  372. Xchar ccsrcm[8], char ccsrin[8] - These are used to change the cursor
  373. Xfrom command mode to insert mode.  Many terminals do not support a
  374. Xmethod of changing the cursor shape.  These have been also been used
  375. Xto change the screen from normal to reverse video and back. 
  376. Xchar ciline[8] - Insert a blank line.  A blank line is inserted on the
  377. Xline the cursor is on.  If available, it can be used for ctopb, too. 
  378. Xchar ckline[8] - Kill a line.  The line the cursor is on is deleted,
  379. Xand the following text scrolled up. 
  380. Xchar cundlb[8], cundle[8] - TVX has the capability to optionally
  381. Xsupport bold and underline for some text processors.  For example, a
  382. X^U can be used to toggle underscore.  This is only useful for a text
  383. Xformatter that can recognize such a sequence. 
  384. Xchar cboldb[8], char cbolde[8] - Similar to undlb, but boldface. 
  385. X*** Default settings
  386. Xint ddline - default display line.  This sets which line is the
  387. Xdefault home display line.  For scrolling versions (dscrl != 0), right
  388. Xin the middle is a good place.  For fixed cursor line versions,
  389. Xsomething below the middle seems better (like 16 for 24 line
  390. Xscreens). 
  391. Xint dscrl - default scroll lines.  If this is non-zero, the cursor
  392. Xwill move up and down lines on the screen with cursor movement
  393. Xcommands.  This requires a bit less screen update overhead, and is
  394. Xbetter for slower time shared systems.  If it is zero, the cursor will
  395. Xremain fixed on ddline, and text will scroll on and off the screen as
  396. Xneeded.  Both these are resettable with the : command. 
  397. Xint dxcase - default search case.  0 means find is case insensitive, 1
  398. Xmeans find must match exact case. 
  399. Xint usecz - MS-DOS versions only.  If 1, TVX will put a Control-Z end
  400. Xof file mark in the file (this is CP/M compatible).  If 0, TVX uses
  401. XMS-DOS end of file conventions. 
  402. Xint autoin - TRUE (1) if auto indent, FALSE (0) otherwise. 
  403. X                                 -30-
  404. XTVX Reference Manual                                           2/25/86
  405. Xint logdef - Create backup log file by default?  0->no, 1-> yes. 
  406. Xchar wildch - The character used as a wild card in finds. 
  407. Xchar delkey - the delete character key, usually backspace. 
  408. Xint tvhardlines - number of physical lines on screen. 
  409. Xint tvlins - number of lines on virtual screen.  Initially should be
  410. Xsame value as tvhardlines. 
  411. Xint tvcols - number of columns on screen.  If the terminal wraps new
  412. Xtext to the next line rather than discarding characters after the last
  413. Xcolumn, then tvcols must be set to 1 less than the true width of the
  414. Xterminal. 
  415. Xint isibmpc - TRUE (1) if this version uses the custom IBM-PC screen
  416. Xdriver.  FALSE (0) if uses regular terminal output code. 
  417. Xchar synofr[20], char synoto[20] - These are used to map commands.
  418. XThe synofr contains commands to be aliased to the corresponding
  419. Xcommand in the synoto table.  For example, the '[' and '{' keys are
  420. Xoften reversed on some terminals.  Making '[' in synofr a synonym to
  421. X'{' in synoto will make the two commands the same. 
  422. Xchar funkey - If the terminal has function keys, they can be supported
  423. Xby TVX by setting this variable to the first code sent by the function
  424. Xkey, usually ESCAPE.  TVX supports only two code sequences for
  425. Xfunction keys. 
  426. Xchar funchar[50] - this is the second code sent by a function key. 
  427. Xchar funcmd[50] - this is the equivalent command a given function key
  428. Xwill be mapped to.  Similar to synofr and synoto. 
  429. X*** #define options
  430. X     The file 'tvx_defs.ic' has many #define statements that can be
  431. Xused to customize TVX for particular installations.  Ideally, the
  432. Xsource for TVX should be maintained as one set, and differences
  433. Xbetween versions handled by #defines.  Most #defines are explained in
  434. Xthe source code, but a few deserve a few extra comments, and are
  435. Xsummarized below. 
  436. X#define VERSION " - TVX (7/1/85) - " - This defines the version of
  437. XTVX.  Any time a modification is made, the VERSION define should be
  438. Xupdated. 
  439. X#define VB - whether or not to create backup log version or not.  This
  440. Xdoes NOT imply the file "backup.log" will be used automatically (see
  441. Xvariable logdef), simply that the code is included. 
  442. X#define ULBD - If defined, TVX supports underline, bold in ^U, ^B
  443. Xformat. 
  444. X                                 -31-
  445. XTVX Reference Manual                                           2/25/86
  446. X#define BACKUPNAME - This defines the name of the backup log file, if
  447. Xused. 
  448. X#define BUFFLIMIT - This defines how much space is saved in the text
  449. Xbuffer when reading in a file.  This determines how much space is
  450. Xreserved for saving text with the 'S' command, and how much is left
  451. Xover for new inserts.  Smaller values allow more text from the file to
  452. Xbe read, larger values allow more text to be saved.  The '-s' switch
  453. Xat runtime increases this value. 
  454. X#define FILEREAD, #define FILEWRITE - These define the string used for
  455. Xfile mode in the fopen() calls.  Unix and MS-DOS versions are not
  456. Xtypically exactly compatible, as most MS-DOS C's allow a different
  457. Xmode to handle the CR/LF problem. 
  458. X#define FNAMESIZE - maximum length of file names. 
  459. X#define INT16 - If #defined, then the normal C int is 16 bits long.
  460. XThis changes the way memory status is displayed. 
  461. X#define LINELIMIT - Like BUFFLIMIT, only number of lines. 
  462. X#define MAXBUFF - Defines maximum number of characters allocated to
  463. Xtext buffer.  Malloc() is used to get the space from the runtime
  464. Xsystem.  It is possible less than MAXBUFF will be available.  The
  465. Xmaximum allowed for any given system must be less than the maximum
  466. Xvalue represented by an unsigned int.  If MAXBUFF is very large, there
  467. Xget to be a noticeable initialization delay. 
  468. X#define MAXLINE - This determines the maximum number of lines
  469. Xallocated per buffer.  It is related to MAXBUFF. 
  470. X#define REPEATBUFS - defines how many repeat buffers are allocated.
  471. XIf space is a problem, allocate fewer repeat buffers. 
  472. X#define USELF - This symbol should be defined if the terminal needs a
  473. Xline feed character after each carriage return.  Almost always true. 
  474. X#define FILELF - This symbol is defined if text files use a CR/LF
  475. Xcombination.  It causes a NEWLINE/LF to be written to files. 
  476. X#define NEWLINE - This defines the actual character used as a new line
  477. Xin files.  On CR/LF systems, it should be a CR (13).  On systems like
  478. XUnix with a single new line separator, it should be that character
  479. X(LF). 
  480. X#define USECTRLZ - defined if the code for handling a Control-Z and
  481. Xend of file mark should be used. 
  482. X#define NEEDTVLIB - define this if the standard C library provided
  483. Xdoesn't have the routine in TVX_LIB. 
  484. X#define HELP - Define this if help should be supported.  The help
  485. Xroutine uses significant space, which can be saved if help isn't
  486. Xcompiled in. 
  487. X                                 -32-
  488. XTVX Reference Manual                                           2/25/86
  489. X#define CONFIGFILE - define this if support for the '-c' switch is
  490. Xdesired. 
  491. X**** MS-DOS Notes ***
  492. X     TVX can be built as a generic MS-DOS version and as an IBM-PC
  493. Xspecific version.  The MS-DOS version uses the standard DOS character
  494. Xoutput routines.  Thus, it could use the ANSI.SYS driver, but it would
  495. Xrun very slowly then.  The IBM-PC version has a custom screen driver
  496. Xthat calls the ROM BIOS directly, and is very fast.  Even more speed
  497. Xcan be had by optimizing the output assembly code (the sysint
  498. Xoverhead).  The definitions for and IBMPC included in "tvx_term.ic"
  499. Xalso define the keypad keys to work in a predictable manner. 
  500. X*** Unix Notes ***
  501. X     The usual Unix version will be the TERMCAP version.  That version
  502. Xworks very well, but is not in all cases optimal for a given
  503. Xterminal.  It might be desirable to build a specific version for the
  504. Xterminal you use most often.  Most notably, the TERMCAP version does
  505. Xnot know about cursor shapes or other control sequences to distinguish
  506. Xcommand mode from insert mode.  Also, it sets tvcols to one less than
  507. Xthe true value to avoid wrapping problems.  The termcap version also
  508. Xonly sends a bell for the error message. 
  509. X                                 -33-
  510. XTVX Reference Manual                                           2/25/86
  511. X                        *** TVX File Usage ***
  512. X     TVX uses four logical files: the original file, the destination
  513. Xfile, a work file, and the source file.  The original file and the
  514. Xdestination file are not touched until a normal exit from TVX. 
  515. X     The source file is the current copy of the file providing text to
  516. Xbe entered.  When TVX is first started, the source file and the
  517. Xoriginal file are the same.  The work file is used to hold the edited
  518. Xoutput file. 
  519. X     When the '^B' file beginning command is issued, the remainder of
  520. Xthe source input file is written to the work output file.  The work
  521. Xfile then becomes the new source file, and a new work file is
  522. Xcreated.  Thus, it is possible to have four copies of a file around:
  523. XThe .BAK backup copy of the original file, the original copy of the
  524. Xfile, the copy of the source file, and the (partially written) work
  525. Xfile.  Under normal operation, there will only be two copies: the
  526. Xsource file (which is really the original file) and the possibly
  527. Xpartially written work file.  Only by using the '^B' commands can 3
  528. Xcopies of the file exist. 
  529. X     When you issue the normal '^X' exit command, the following
  530. Xactions take place: Any old .BAK files are deleted.  The original file
  531. Xis renamed to be the new .BAK version.  If the source file is
  532. Xdifferent than the original file, it will be deleted.  The work file
  533. Xis then renamed to be the destination file.  If you don't have write
  534. Xaccess to the directory with the original file, then the original file
  535. Xand the work file will not be renamed.  A message to that effect will
  536. Xbe printed.  The normal operating system copy and rename commands can
  537. Xbe used to recover the work file, which contains the edits made to
  538. Xdate. 
  539. X                                 -34-
  540. XTVX Reference Manual                                           2/25/86
  541. X               *** Standard Quick Reference Summary ***
  542. X       TVX Commands (n => count allowed)
  543. X
  544. X    nA Append lines            B Buffer beginning
  545. X    ^B File beginning         nC Change chars
  546. X    nD Down line             n^D Down column
  547. X     E Buffer end            n^E Edit repeat buffer
  548. X    nF Find pattern           ^F Find across buffs
  549. X     G Get save buffer        ^G Unkill last line
  550. X    nH Half page              nI Insert (till $)
  551. X     J Jump back              nK Kill character
  552. X   n^K Kill line              nL Left
  553. X     M Memory status          nN Note location
  554. X   n^N Reset location         nO Open blank line
  555. X    ^O Operating system       nP Page
  556. X    ^P Print screen           nR Right
  557. X    ^R Restore edited buffer  nS Save lines
  558. X    nT Tidy (fill text)       ^T Abort session
  559. X    nU Up                    n^U Up column
  560. X     V Verify                n^W Write buff
  561. X    ^X Exit, end session     n^Y Yank to(-n)/from(+n) file
  562. X   nBS Delete prev. char.     n; Find again
  563. X     / Delete last thing       = Change last thing
  564. X     ' Del to line beginning   " Delete to line end
  565. X     , Line beginning          . Line end
  566. X  nTAB Word right             n{ Word left
  567. X  n<>$$ Repeat loop           n& Repeat again
  568. X   n#k Execute repeat buffer k n times
  569. X     ? Help                    @ Invoke cmd file
  570. X     * Insert pat found last  n~ Toggle case
  571. X     $ Escape - end insert, find, repeat
  572. X   n:p Set parameter p
  573. X
  574. X  Possible parameters:
  575. X
  576. X    A - Autoindent (1=y,0=n)       D - display line
  577. X    E - Expand tabs to n spaces    F - find case (0=exact,1=any)
  578. X    M - Match wild cards           O - set output file name
  579. X    S - scroll window              R - repeat buffer to use
  580. X    T - tty mode                   U - define user wild card set
  581. X    V - virtual window             W - autowrap width
  582. X    C - cut mode
  583. X
  584. X  Usage: tvx filename [-b -i -l -o=f -r -s -t -w -# {-z -c=f}]
  585. X
  586. X    -[no]b : backup file           -[no]i : autoindent
  587. X    -[no]l : make command log file -t : tty mode
  588. X    -o=outputfile                  -r : read only
  589. X    -s : big save buff             -[no]w : word processing mode
  590. X    -# : set virtual window lines to #
  591. X
  592. X  On MS-DOS versions:
  593. X    -[no]z : use control-z for end of file
  594. X    -c=configfile                  -c : use /bin/config.tvx
  595. X                                 -35-
  596. XTVX Reference Manual                                           2/25/86
  597. X                 VIX - A vi-like editor based on TVX
  598. X     Vix is an extension to tvx that provides a close emulation of the
  599. XUnix editor vi.  While the majority of the common commands are
  600. Xidentical, there are some inherent differences in the way tvx and vi
  601. Xtreat text.  Most of the commands were implemented directly using the
  602. XTVX equivalent, although some commands were required new code.  If the
  603. Xvi command could not be implemented, its command letter was left
  604. Xunused, and will produce an error message. 
  605. X     Vix does not have the underlying ex editor, so none of the escape
  606. Xto ex commands work.  Vix does have the TVX repeat loop, however, and
  607. Xthis compensates to a great extent for the need for ex features.
  608. XPlease consult the TVX manual for examples of using the repeat loop.
  609. XNote that when using the repeat loop with vix, the commands will be
  610. Xvix commands and not tvx commands. 
  611. X     Another significant difference is that tvx (and thus vix) treats
  612. Xthe end of line character as just another character.  Thus cursor
  613. Xmovement commands move over the end of line in a fashion one would
  614. Xexpect.  However, when one moves to the end of the line, the cursor is
  615. Xplaced 'over' the newline (displayed after the last real character in
  616. Xthe line).  This makes the '$' command work somewhat differently.
  617. XThis also means that you can include a <return> in a search pattern.
  618. XVix and tvx use ESCAPE to end the search pattern instead of <return>. 
  619. X     Vi uses the ':' command to read and write the file (among other
  620. Xthings).  Vix uses the ':' to set operating parameters such as
  621. Xautoindent, screen size, etc.  The 'ZZ' (or 'ZA' to abort without
  622. Xchanges) command is used by vix to exit. 
  623. X     Unlike vi and ex, tvx and vix try to load the entire file being
  624. Xedited into memory (called the buffer by tvx/vix, as opposed to the
  625. Xyank or save buffer).  If the entire file doesn't fit, the user must
  626. Xmanually 'page' the file in and out of memory manually.  Most of the
  627. X'q' ("tvx" prefix) commands are supplied to handle buffer
  628. Xmanipulation.  For more details, consult the TVX manual.  TVX/vix also
  629. Xuses the concept of the "last thing" as a major editing tool.
  630. XWhenever you find a pattern, skip over a word with b or w, save text
  631. Xinto the save buffer with the 'y' or 'Y' commands, or put text from
  632. Xthe save buffer, that text is considered the "last thing".  The 'c/'
  633. Xand 'd/' commands will delete the last thing.  Entering a new command
  634. Xwill forget what the last thing was until you again enter a "last
  635. Xthing" command. 
  636. X                                 -36-
  637. XTVX Reference Manual                                           2/25/86
  638. X     The available vix commands are summarized below.  The first
  639. Xcolumn of each entry has a character noting similarities and
  640. Xdifferences with the real vi commands in the following fashion:
  641. X
  642. X- means present in vi, not implemented in vix.
  643. X= means commands work identically {with possible minor variations}
  644. X+ means new or significantly different command
  645. X* means "equivalent" command, somewhat different than vi
  646. X<space> means command unused in both vi and vix.
  647. X
  648. X  n in front of command means command takes count argument
  649. X  [synonyms indicated in brackets]
  650. X
  651. X   ^@: Unused
  652. X   ^A: Unused
  653. X= n^B: Backward window. {2 lines of continuity not preserved}
  654. X   ^C: Unused
  655. X= n^D: Down half window.
  656. X-  ^E: Not implemented
  657. X= n^F: Forward window.
  658. X*  ^G: memory status, short info line
  659. X= n^H: backspace Command mode: left; Insert mode: del last char
  660. X=  ^I: inserts tab in insert mode, not a command.
  661. X= n^J: down arrow in column [j,^N]
  662. X+ n^K: up in column [k,^P]
  663. X=  ^L: verify screen [^R,z]
  664. X= n^M: down to beginning of line [+]
  665. X= n^N: [j, ^J]
  666. X   ^O: Unused
  667. X= n^P: [k, ^K]
  668. X=  ^Q: Unused (flow control)
  669. X=  ^R: Redraw screen [^L,z]
  670. X=  ^S: Unused (flow control)
  671. X+  ^T: TVX prefix command - see q [q,Q,T]
  672. X* n^U: Up half window.  ** in insert mode, does NOT erase line **
  673. X*  ^V: Not a command.  NOT literal quote in insert mode.
  674. X*  ^W: Not a command.  NOT used for delete word in insert.
  675. X   ^X: Unused
  676. X-  ^Y: Not implemented
  677. X-  ^Z: Not implemented
  678. X=  Escape: forces command mode, safe follow char for d,c,q.
  679. X   ^: Unused
  680. X-  ^]: Not implemented
  681. X-  ^^: Not implemented
  682. X   ^_: Unused
  683. X=  <space>:  [r]
  684. X+  n!: Tidy.  Fills n lines up to wrap margin. [see autowrap]
  685. X-   ": Not implemented
  686. X+ n#p: execute repeat loop number 'p' 'n' times
  687. X=   $: goto end of current line {end is newline, not last char}
  688. X-   %: Not implemented
  689. X-   &: Not implemented
  690. X-   ': Not implemented
  691. X-   (: Not implemented
  692. X-   ): Not implemented
  693. X+   *: insert last matched pattern into text buffer
  694. X                                 -37-
  695. XTVX Reference Manual                                           2/25/86
  696. X=  n+: [CR, ^M]
  697. X-   ,: Not implemented
  698. X*   -: Used in vix for negative counts, use K for up line.
  699. X-   .: Not implemented, repeat loops are a substitute
  700. X=   /: search {Escape used to end pattern, multi-line patterns ok}
  701. X*   0: 0 is used for counts (especially for : parameters)
  702. X= 0-9: count value for numeric arguments {may be negative!}
  703. X-   :: Not implemented - use ZZ and ZA to exit
  704. X-   ;: Not implemented
  705. X+  n<: Begin repeat loop. Loop terminated with >$$. ($ = Esc)
  706. X+   =: Help screens
  707. X+   >: Used to terminate repeat loops.
  708. X=   ?: Reverse search {search begins on previous line}
  709. X+  n@: execute current repeat loop n times (shorthand for n#p)
  710. X=   A: append to end of line
  711. X*  nB: back a word {vix's concept of words is different than vi}
  712. X=   C: changes rest of line
  713. X=   D: delete rest of the line
  714. X-   E: Not implemented
  715. X-   F: Not implemented
  716. X=  nG: goes to line number n, or end of buffer if no n supplied
  717. X*   H: Beginning of buffer (first line in buffer)
  718. X=   I: inserts at beginning of line
  719. X=   J: join lines {not needed since vix treats newlines as chars}
  720. X+  nK: Up a line to beginning of line
  721. X*   L: bottom line of file
  722. X+  nM: return to marked location n (n from 1 to 9, see m)
  723. X=   N: like n, but in reverse direction
  724. X=  nO: open a line above current line. n opens n blank lines.
  725. X=   P: put save buffer above current line {save buffers not named}
  726. X+   T: tvx commands (see q) [^T,q,Q]
  727. X*   U: very limited undo!! It only restores the LAST line killed!
  728. X    V: Unused
  729. X*  nW: Moves forward n words [w] {vix's concept of words not same}
  730. X=  nX: delete n characters before cursor
  731. X+  nY: append n lines to save buffer (see y), does not change buffer
  732. X=+ Zx: exit from vix (ZZ: normal, writes file, ZA: abort, no changes)
  733. X-  [[: Not implemented
  734. X    : Unused
  735. X-  ]]: Not implemented
  736. X=   ^: beginning of line {1st char of line, NOT 1st non-white char}
  737. X+   _: invoke indirect command file
  738. X=   a: append text starting after cursor
  739. X*   b: back up a word [see B]
  740. X=   c: change c, <sp>, ^, $, or / (delete, enter insert mode)
  741. X    =   c - change line
  742. X    =   <sp> - change one character
  743. X    =   ^ - to beginning of line
  744. X    =   $ - to end of line
  745. X    -   w, b, and any others not mentioned not implemented
  746. X    +   / - the last thing found, yanked or put
  747. X=  nd: delete d, <sp>, ^, $, or /
  748. X    =   d - delete line
  749. X    =   <sp> - delete character
  750. X    =   ^ - to beginning of line
  751. X    =   $ - to end of line
  752. X                                 -38-
  753. XTVX Reference Manual                                           2/25/86
  754. X    -   w, b, and any others not mentioned not implemented
  755. X    +   / - the last thing found, yanked or put
  756. X-   e: Not implemented
  757. X-   f: Not implemented
  758. X    g: Unused
  759. X=  nh: Move left n characters [BS,^H] {will move over lines, too}
  760. X=  ni: insert (if value n supplied, then that ascii code inserted)
  761. X=  nj: down lines, in column [^J,^N]
  762. X=  nk: Up lines, in column [^K,^P]
  763. X=  nl: right n characters [<space>] {moves over lines, too}
  764. X*  nm: mark cur. line as location n.  Use M to return to location.
  765. X=   n: find next (in same direction as last ? or /)
  766. X=  no: open n following lines
  767. X=   p: put save buffer after cur line
  768. X+   q: Prefix character for "tvx" extended commands
  769. X        !: call operating system
  770. X        b: goto real beginning of the file
  771. X        e: edit repeat buffer
  772. X        j: jump back to last location
  773. X        p: put external file from save buffer
  774. X        r: restore repeat buffer
  775. X        s: print screen
  776. X        w: read in next page of file
  777. X        y: yank external file to save buffer
  778. X        /: cross buffer search
  779. X      n:p: set parameter 'p' to value 'n', parameters are:
  780. X         a: autoindent (1 means on, 0 off for all "switch" pars)
  781. X         c: "cut" mode (means 'dd' saves line in yank buffer, too)
  782. X         e: expand tabs to n spaces (8 default)
  783. X         d: home display line (where cursor homes after verify)
  784. X         f: find case mode (0 is case insensitive, 1 exact match)
  785. X         m: match wildcards (1 use ^A, ^L, etc., 0 no wild cards)
  786. X         o: requests new name for output file
  787. X         s: scroll window, cursor moves s lines before scrolling
  788. X         t: tty mode - 1: tty mode, 0: visual mode
  789. X         u: requests entry of user wild card set
  790. X         v: virtual window size
  791. X         w: autowrap limit.
  792. X=   r: replace next char with next character entered
  793. X=  ns: substitute: delete n characters, enter insert mode
  794. X-   t: Not implemented
  795. X-   u: Not implemented (see U)
  796. X    v: Unused
  797. X*  nw: advance word (see W)
  798. X=  nx: delete n characters
  799. X*  ny: yank text to save buffer - will save n lines into save buffer
  800. X       (Only one save buffer, 1st y clears buffer, rest add until
  801. X        non y command entered. dd works in a similar fashion, but
  802. X        kills as it saves (if cut_mode enabled)).
  803. X=   z: refresh screen (^L,^R)
  804. X-   {: Not implemented
  805. X-   |: Not implemented
  806. X=  n~: Change case of next n characters
  807. X* nDEL: Same as X, delete previous character
  808. X                                 -39-
  809. XTVX Reference Manual                                           2/25/86
  810. X                      EMAX - TVX emulating emacs
  811. X     Important differences: No windows, no marked region, no Q
  812. Xregisters, no word delete or case change, ^K interacts differently
  813. Xwith save buffer multiple keyboard macros (called repeat loops), much
  814. Xdifferent file and buffer manipulation. 
  815. X     Partial line ^K's (no argument or 0 argument) will save the
  816. Xdeleted text in the unkill buffer (^CU), but NOT the save/cut buffer.
  817. XIf an argument is supplied, then the killed lines are save in the save
  818. Xbuffer. 
  819. X     TVX'x kill last thing concept is implemented as ^C^K. 
  820. X     Values can be supplied in two ways.  Any of the <esc> commands
  821. Xmay supply a count after the <esc>.  Thus, '<esc>10B' will back over
  822. X10 words.  <esc> may also be used to specify the count for ctrl
  823. Xcommands: '<esc>10^N' goes down 10 lines.  The usual emacs '^U' also
  824. Xworks to supply arguments.  It works in the emacs multiples of 4, but
  825. Xthe Arg: count echoes differently.  When you press ^U, then the
  826. Xmessage 'Arg: 4' will appear on the bottom.  If you press ^U again, it
  827. Xwill change to 'Arg: 16'.  However, if you enter any other numeric
  828. Xvalue, the 'Arg' message disappears, and you get no additional
  829. Xprompting of values. 
  830. X
  831. X <ctrl-A>    Move to start of line.
  832. Xn<ctrl-B>    (Back) Move backward by characters.
  833. Xn<ctrl-C>    (Command) TVX Command: execute commands provided
  834. X             by TVX base.  (These ^C commands have NO relation
  835. X             to ^C commands of large emacs implemetations!)
  836. X         ^A    Append line to save buffer
  837. X         ^B    Move to absolute beginning of file
  838. X         ^E    Edit repeat buffer
  839. X         ^F    Fill n lines to autowrap margin
  840. X         ^G    No op - exit ^C
  841. X         ^H    Half screen down
  842. X         ^J    Jump back to previous location
  843. X         ^K    Delete last thing
  844. X         ^N    Move to beginning of next line
  845. X         ^M    Mark location n
  846. X         ^P    Move to beginning of previous line
  847. X         ^R    Restore edited repeat buffer
  848. X         ^W    Write buffer, read next portion of file
  849. X          ;    Search forward again
  850. X          ~    Change case of next n characters
  851. X          G    Goto line number n
  852. X          H    Half page up
  853. X          I    Insert ascii char n if n supplied,
  854. X                 otherwise enter insert mode
  855. X          L    Print screen on printer (micros only)
  856. X          M    Return to marked location
  857. X          P    Put line into save buffer
  858. X          S    Search forward across file buffers
  859. X          U    Unkill last single line killed
  860. X          Vp   Set variable p (like TVX's : command)
  861. X                                 -40-
  862. XTVX Reference Manual                                           2/25/86
  863. X          W    Write save buffer to external file
  864. X          Y    Yank external file into save buffer
  865. Xn<ctrl-D>    (Delete) Delete next character.
  866. X <ctrl-E>    (End) Move to end of line.
  867. Xn<ctrl-F>    (Forward) Move forward by characters.
  868. Xn<ctrl-H>    Backspace - delete n previous characters
  869. Xn<ctrl-K>    (Kill) With no argument, kill from current position
  870. X             to end of line; if at the end, kill the newline.
  871. X             With argument 0, kill from beginning of line to
  872. X             current position. Otherwise, kill argument lines
  873. X             forward (if positive) or backward (if negative).
  874. X <ctrl-L>    Redraw the screen.
  875. Xn<ctrl-N>    (Next) Move to next line.
  876. Xn<ctrl-O>    (Open) Open line above cursor.
  877. Xn<ctrl-P>    (Previous) Move to previous line.
  878. X <ctrl-R>    (Reverse) search backward.
  879. X <ctrl-S>    (Search) search forward. { <Esc>S is a synonym }
  880. X <ctrl-T>    (Transpose) Transpose characters.
  881. X <ctrl-U>    Specify an argument, as described above.
  882. Xn<ctrl-V>    Move forward by n pages.
  883. X
  884. X <ctrl-X><ctrl-C>  Abort edit session with no changes.
  885. X <ctrl-X><ctrl-B>  Short buffer status line
  886. Xn<ctrl-X>E   (Execute) Execute current repeat loop n times.
  887. X
  888. X <ctrl-Y>    (Yank) Yank save buffer to current location.
  889. X <ctrl-Z>    Save current buffer to associated file and exit.
  890. Xn<Del>       Delete the previous n characters. (^H is synonym)
  891. X
  892. X <esc>%      Invoke command file (TVX @ file)
  893. X <esc>!      Call operating system
  894. Xn<esc>#p     Execute repeat loop 'p' 'n' times.
  895. Xn<esc>(      Repeat loop definition.  ')<esc><esc>' ends loop.
  896. X <esc>-,0-9  Auto argument for other <esc> and CTRL commands.
  897. X <esc><      Move to beginning of buffer.
  898. X <esc>>      Move to end of buffer.
  899. X <esc>?      Help and status screens
  900. Xn<esc>B      (Back) Move backward by words.
  901. Xn<esc>F      (Forward) Move forward by words.
  902. Xn<esc>V      Move backward by pages.
  903. X                                 -41-
  904. XTVX Reference Manual                                           2/25/86
  905. X                            *** INDEX ***
  906. X                         TVX Reference Manual
  907. Xabort - 12
  908. Xappend - 6, 12
  909. Xauto wrap - 19
  910. Xautoindent - 17
  911. Xbackspace - 1, 14, 20, 21
  912. Xbackup file - 4, 6, 13, 20
  913. Xbeginning of file - 6, 9
  914. Xbuffer - 2, 6, 7, 9, 10, 12, 13
  915. Xbuffer beginning - 6
  916. Xchange - 7
  917. Xcommands - 1, 6
  918. Xcursor - 1
  919. Xcursor character - 6
  920. Xcut mode - 18
  921. Xdefault source settings - 30
  922. Xdefine options - 31
  923. Xdelete last thing - 15
  924. Xdelete line front - 15
  925. Xdelete line tail - 15
  926. Xdelete previous character - 14
  927. Xdown - 7, 12
  928. Xdown in column - 7
  929. Xend buffer - 7
  930. Xend session - 14
  931. XError Messages - 23
  932. Xescape - 6, 8, 9, 20
  933. Xexit - 14
  934. Xexternal file - 14
  935. Xfind - 8, 9, 14, 18
  936. Xfind case - 18
  937. Xget - 9
  938. Xget killed line - 9
  939. Xhalf page - 9
  940. Xhome display line - 18
  941. Xinsert - 9, 11
  942. XInsert find pattern - 15
  943. XInstallation - 27
  944. XInstallation - MS-DOS - 33
  945. XInstallation - Unix - 33
  946. Xinvoke command file - 17
  947. Xjump - 10
  948. Xkill characters - 10
  949. Xkill lines - 10
  950. X                                 -42-
  951. XTVX Reference Manual                                           2/25/86
  952. Xleft - 10
  953. Xline beginning - 15
  954. Xline end - 15
  955. Xlog file - 4, 14, 17, 20
  956. Xmemory - 10
  957. Xmode - 6, 7, 9, 11, 15
  958. Xnote - 10, 11
  959. Xopen line - 11
  960. Xoperating system - 11
  961. Xother control sequences - 29
  962. Xoutput file - 18
  963. Xpage - 9, 11
  964. Xparameters - 17
  965. Xprint - 11
  966. XQuick Reference Summary - 35
  967. Xquit - 7
  968. Xrepeat buffer - 12
  969. Xrepeat loop - 7, 16, 18
  970. Xright - 11
  971. Xsave buffer - 6, 9, 12, 14
  972. Xscroll lines - 18
  973. Xsearch - 8
  974. Xskip over words - 16
  975. Xsource code - 27
  976. Xstarting up - 4
  977. Xstatus - 10
  978. Xswitches - 5
  979. Xtab expansion - 18
  980. Xterminate - 12
  981. Xtidy - 12
  982. Xtty mode - 18, 26
  983. XTVX File Usage - 34
  984. Xunkill - 9
  985. Xup - 13
  986. Xup in column - 13
  987. Xuser wild cards - 19
  988. Xverify - 13
  989. Xvirtual window - 19
  990. Xwild card - 8, 18
  991. Xword - 16
  992. Xwrite buffer - 13
  993. XX-Y Cursor Addressing - 29
  994. Xyank external file - 14
  995. X                                 -43-
  996. SHAR_EOF
  997. echo ALL DONE!
  998. exit 0
  999.  
  1000.